#region License

// Copyright (c) 2013, ClearCanvas Inc.
// All rights reserved.
// http://www.clearcanvas.ca
//
// This file is part of the ClearCanvas RIS/PACS open source project.
//
// The ClearCanvas RIS/PACS open source project is free software: you can
// redistribute it and/or modify it under the terms of the GNU General Public
// License as published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// The ClearCanvas RIS/PACS open source project is distributed in the hope that it
// will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
// Public License for more details.
//
// You should have received a copy of the GNU General Public License along with
// the ClearCanvas RIS/PACS open source project.  If not, see
// <http://www.gnu.org/licenses/>.

#endregion

// This file is auto-generated by the ClearCanvas.Model.SqlServer.CodeGenerator project.

namespace ClearCanvas.ImageServer.Model
{
    using System;
    using System.Collections.Generic;
    using ClearCanvas.ImageServer.Model.EntityBrokers;
    using ClearCanvas.ImageServer.Enterprise;
    using System.Reflection;

[Serializable]
public partial class WorkQueueTypeEnum : ServerEnum
{
      #region Private Static Members
      private static readonly WorkQueueTypeEnum _StudyProcess = GetEnum("StudyProcess");
      private static readonly WorkQueueTypeEnum _AutoRoute = GetEnum("AutoRoute");
      private static readonly WorkQueueTypeEnum _DeleteStudy = GetEnum("DeleteStudy");
      private static readonly WorkQueueTypeEnum _WebDeleteStudy = GetEnum("WebDeleteStudy");
      private static readonly WorkQueueTypeEnum _WebMoveStudy = GetEnum("WebMoveStudy");
      private static readonly WorkQueueTypeEnum _WebEditStudy = GetEnum("WebEditStudy");
      private static readonly WorkQueueTypeEnum _CleanupStudy = GetEnum("CleanupStudy");
      private static readonly WorkQueueTypeEnum _CompressStudy = GetEnum("CompressStudy");
      private static readonly WorkQueueTypeEnum _MigrateStudy = GetEnum("MigrateStudy");
      private static readonly WorkQueueTypeEnum _PurgeStudy = GetEnum("PurgeStudy");
      private static readonly WorkQueueTypeEnum _ReprocessStudy = GetEnum("ReprocessStudy");
      private static readonly WorkQueueTypeEnum _ReconcileStudy = GetEnum("ReconcileStudy");
      private static readonly WorkQueueTypeEnum _ReconcileCleanup = GetEnum("ReconcileCleanup");
      private static readonly WorkQueueTypeEnum _ReconcilePostProcess = GetEnum("ReconcilePostProcess");
      private static readonly WorkQueueTypeEnum _ProcessDuplicate = GetEnum("ProcessDuplicate");
      private static readonly WorkQueueTypeEnum _CleanupDuplicate = GetEnum("CleanupDuplicate");
      private static readonly WorkQueueTypeEnum _ExternalEdit = GetEnum("ExternalEdit");
      private static readonly WorkQueueTypeEnum _StudyAutoRoute = GetEnum("StudyAutoRoute");
      #endregion

      #region Public Static Properties
      /// <summary>
      /// Processing of a new incoming study.
      /// </summary>
      public static WorkQueueTypeEnum StudyProcess
      {
          get { return _StudyProcess; }
      }
      /// <summary>
      /// DICOM Auto-route request.
      /// </summary>
      public static WorkQueueTypeEnum AutoRoute
      {
          get { return _AutoRoute; }
      }
      /// <summary>
      /// Automatic deletion of a Study.
      /// </summary>
      public static WorkQueueTypeEnum DeleteStudy
      {
          get { return _DeleteStudy; }
      }
      /// <summary>
      /// Manual study delete via the Web UI.
      /// </summary>
      public static WorkQueueTypeEnum WebDeleteStudy
      {
          get { return _WebDeleteStudy; }
      }
      /// <summary>
      /// Manual DICOM move of a study via the Web UI.
      /// </summary>
      public static WorkQueueTypeEnum WebMoveStudy
      {
          get { return _WebMoveStudy; }
      }
      /// <summary>
      /// Manual study edit via the Web UI.
      /// </summary>
      public static WorkQueueTypeEnum WebEditStudy
      {
          get { return _WebEditStudy; }
      }
      /// <summary>
      /// Cleanup all unprocessed or failed instances within a study.
      /// </summary>
      public static WorkQueueTypeEnum CleanupStudy
      {
          get { return _CleanupStudy; }
      }
      /// <summary>
      /// Compress a study.
      /// </summary>
      public static WorkQueueTypeEnum CompressStudy
      {
          get { return _CompressStudy; }
      }
      /// <summary>
      /// Migrate studies between tiers.
      /// </summary>
      public static WorkQueueTypeEnum MigrateStudy
      {
          get { return _MigrateStudy; }
      }
      /// <summary>
      /// Purge archived study and place offline.
      /// </summary>
      public static WorkQueueTypeEnum PurgeStudy
      {
          get { return _PurgeStudy; }
      }
      /// <summary>
      /// Reprocess an entire study.
      /// </summary>
      public static WorkQueueTypeEnum ReprocessStudy
      {
          get { return _ReprocessStudy; }
      }
      /// <summary>
      /// Reconcile images.
      /// </summary>
      public static WorkQueueTypeEnum ReconcileStudy
      {
          get { return _ReconcileStudy; }
      }
      /// <summary>
      /// Cleanup a failed Reconcile Study entry
      /// </summary>
      public static WorkQueueTypeEnum ReconcileCleanup
      {
          get { return _ReconcileCleanup; }
      }
      /// <summary>
      /// Process reconciled images.
      /// </summary>
      public static WorkQueueTypeEnum ReconcilePostProcess
      {
          get { return _ReconcilePostProcess; }
      }
      /// <summary>
      /// Process duplicate.
      /// </summary>
      public static WorkQueueTypeEnum ProcessDuplicate
      {
          get { return _ProcessDuplicate; }
      }
      /// <summary>
      /// Cleanup failed ProcessDuplicate entry.
      /// </summary>
      public static WorkQueueTypeEnum CleanupDuplicate
      {
          get { return _CleanupDuplicate; }
      }
      /// <summary>
      /// Edit request trigger by an external application.
      /// </summary>
      public static WorkQueueTypeEnum ExternalEdit
      {
          get { return _ExternalEdit; }
      }
      /// <summary>
      /// DICOM Auto-route request of a Study.
      /// </summary>
      public static WorkQueueTypeEnum StudyAutoRoute
      {
          get { return _StudyAutoRoute; }
      }

      #endregion

      #region Constructors
      public WorkQueueTypeEnum():base("WorkQueueTypeEnum")
      {}
      #endregion
      #region Public Members
      public override void SetEnum(short val)
      {
          ServerEnumHelper<WorkQueueTypeEnum, IWorkQueueTypeEnumBroker>.SetEnum(this, val);
      }
      static public List<WorkQueueTypeEnum> GetAll()
      {
          return ServerEnumHelper<WorkQueueTypeEnum, IWorkQueueTypeEnumBroker>.GetAll();
      }
      static public WorkQueueTypeEnum GetEnum(string lookup)
      {
          return ServerEnumHelper<WorkQueueTypeEnum, IWorkQueueTypeEnumBroker>.GetEnum(lookup);
      }
      #endregion
}
}
